package com.ruoyi.etravel.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.etravel.pojo.dto.CommentDto;
import com.ruoyi.etravel.pojo.dto.ScenicSpotDto;
import com.ruoyi.etravel.pojo.entity.ScenicSpot;
/**
 * 景点信息Service接口
 *
 * @author caochong
 * @date 2022-11-11
 */
public interface IScenicSpotService extends IService<ScenicSpot>
{

    /**
     * 根据商家id查询商家信息和相关评论
     * @param id
     * @return
     */
    ScenicSpot findScenicCommentById(Integer id);

    /**
     * 根据条件分页查询相关景点信息
     * @param pageNum
     * @param pageSize
     * @param scenicSpotDto
     * @return
     */
    AjaxResult pageScenicList(int pageNum, int pageSize, ScenicSpotDto scenicSpotDto);


    /**
     * 查询景点信息
     *
     * @param scenicId 景点信息主键
     * @return 景点信息
     */
    public ScenicSpot selectScenicSpotByScenicId(Long scenicId);

    /**
     * 查询景点信息列表
     *
     * @param scenicSpot 景点信息
     * @return 景点信息集合
     */
    public List<ScenicSpot> selectScenicSpotList(ScenicSpot scenicSpot);

    /**
     * 新增景点信息
     *
     * @param scenicSpot 景点信息
     * @return 结果
     */
    public int insertScenicSpot(ScenicSpot scenicSpot);

    /**
     * 修改景点信息
     *
     * @param scenicSpot 景点信息
     * @return 结果
     */
    public int updateScenicSpot(ScenicSpot scenicSpot);

    /**
     * 批量删除景点信息
     *
     * @param scenicIds 需要删除的景点信息主键集合
     * @return 结果
     */
    public int deleteScenicSpotByScenicIds(Long[] scenicIds);

    /**
     * 删除景点信息信息
     *
     * @param scenicId 景点信息主键
     * @return 结果
     */
    public int deleteScenicSpotByScenicId(Long scenicId);
}
